/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entidades;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author ARELLANO RODRIGUEZ
 */
@Entity
@Table(name = "registro_incidencias")
@NamedQueries({
    @NamedQuery(name = "RegistroIncidencias.findAll", query = "SELECT r FROM RegistroIncidencias r"),
    @NamedQuery(name = "RegistroIncidencias.findByCodigoIncidencia", query = "SELECT r FROM RegistroIncidencias r WHERE r.codigoIncidencia = :codigoIncidencia"),
    @NamedQuery(name = "RegistroIncidencias.findByCodigoUsuario", query = "SELECT r FROM RegistroIncidencias r WHERE r.codigoUsuario = :codigoUsuario"),
    @NamedQuery(name = "RegistroIncidencias.findByCodigoClaseIncidencia", query = "SELECT r FROM RegistroIncidencias r WHERE r.codigoClaseIncidencia = :codigoClaseIncidencia"),
    @NamedQuery(name = "RegistroIncidencias.findByCodigoEquipo", query = "SELECT r FROM RegistroIncidencias r WHERE r.codigoEquipo = :codigoEquipo"),
    @NamedQuery(name = "RegistroIncidencias.findByDescripcionIncidencia", query = "SELECT r FROM RegistroIncidencias r WHERE r.descripcionIncidencia = :descripcionIncidencia"),
    @NamedQuery(name = "RegistroIncidencias.findByFechaIncidencia", query = "SELECT r FROM RegistroIncidencias r WHERE r.fechaIncidencia = :fechaIncidencia"),
    @NamedQuery(name = "RegistroIncidencias.findByFechaRegistro", query = "SELECT r FROM RegistroIncidencias r WHERE r.fechaRegistro = :fechaRegistro"),
    @NamedQuery(name = "RegistroIncidencias.findByEstadoIncidencia", query = "SELECT r FROM RegistroIncidencias r WHERE r.estadoIncidencia = :estadoIncidencia")})
public class RegistroIncidencias implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "codigo_incidencia")
    private Integer codigoIncidencia;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 10)
    @Column(name = "codigo_usuario")
    private String codigoUsuario;
    @Basic(optional = false)
    @NotNull
    @Column(name = "codigo_clase_incidencia")
    private int codigoClaseIncidencia;
    @Column(name = "codigo_equipo")
    private Integer codigoEquipo;
    @Size(max = 50)
    @Column(name = "descripcion_incidencia")
    private String descripcionIncidencia;
    @Column(name = "fecha_incidencia")
    @Temporal(TemporalType.DATE)
    private Date fechaIncidencia;
    @Column(name = "fecha_registro")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaRegistro;
    @Column(name = "estado_incidencia")
    private Integer estadoIncidencia;

    public RegistroIncidencias() {
    }

    public RegistroIncidencias(Integer codigoIncidencia) {
        this.codigoIncidencia = codigoIncidencia;
    }

    public RegistroIncidencias(Integer codigoIncidencia, String codigoUsuario, int codigoClaseIncidencia) {
        this.codigoIncidencia = codigoIncidencia;
        this.codigoUsuario = codigoUsuario;
        this.codigoClaseIncidencia = codigoClaseIncidencia;
    }

    public Integer getCodigoIncidencia() {
        return codigoIncidencia;
    }

    public void setCodigoIncidencia(Integer codigoIncidencia) {
        this.codigoIncidencia = codigoIncidencia;
    }

    public String getCodigoUsuario() {
        return codigoUsuario;
    }

    public void setCodigoUsuario(String codigoUsuario) {
        this.codigoUsuario = codigoUsuario;
    }

    public int getCodigoClaseIncidencia() {
        return codigoClaseIncidencia;
    }

    public void setCodigoClaseIncidencia(int codigoClaseIncidencia) {
        this.codigoClaseIncidencia = codigoClaseIncidencia;
    }

    public Integer getCodigoEquipo() {
        return codigoEquipo;
    }

    public void setCodigoEquipo(Integer codigoEquipo) {
        this.codigoEquipo = codigoEquipo;
    }

    public String getDescripcionIncidencia() {
        return descripcionIncidencia;
    }

    public void setDescripcionIncidencia(String descripcionIncidencia) {
        this.descripcionIncidencia = descripcionIncidencia;
    }

    public Date getFechaIncidencia() {
        return fechaIncidencia;
    }

    public void setFechaIncidencia(Date fechaIncidencia) {
        this.fechaIncidencia = fechaIncidencia;
    }

    public Date getFechaRegistro() {
        return fechaRegistro;
    }

    public void setFechaRegistro(Date fechaRegistro) {
        this.fechaRegistro = fechaRegistro;
    }

    public Integer getEstadoIncidencia() {
        return estadoIncidencia;
    }

    public void setEstadoIncidencia(Integer estadoIncidencia) {
        this.estadoIncidencia = estadoIncidencia;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (codigoIncidencia != null ? codigoIncidencia.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof RegistroIncidencias)) {
            return false;
        }
        RegistroIncidencias other = (RegistroIncidencias) object;
        if ((this.codigoIncidencia == null && other.codigoIncidencia != null) || (this.codigoIncidencia != null && !this.codigoIncidencia.equals(other.codigoIncidencia))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entidades.RegistroIncidencias[ codigoIncidencia=" + codigoIncidencia + " ]";
    }
    
}
